home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / demos / video / README < prev    next >
Encoding:
Text File  |  1994-08-02  |  16.1 KB  |  341 lines

  1.  
  2.  
  3.           README for Galileo, Indigo2 Video and IndyVideo Demos
  4.  
  5. the file demo.scf is included in the galileo.sw.demos subsystem.
  6. and gets loaded as /usr/demos/bin/video/galileo/demo.scf
  7.  
  8. This directory contains the following demos and files: 
  9.  
  10. specialfx:
  11. ----------
  12.  
  13. 'specialfx' demonstrates many of the special effects features possible with
  14. Galileo, Indigo2 Video and IndyVideo, particularly in the areas of chroma
  15. keying, luma keying, and transitions (also known as wipes & fades, blends,
  16. and/or switches).  These effects, by definition, generally operate upon two
  17. input sources. 'specialfx' demonstrates these effects with the two input
  18. sources consisting of one video input source (e.g. a camera connected to 
  19. your video board input), and one graphics source (i.e. pixel data which is 
  20. drawn on your computer display). The results are sent to the video output,
  21. and also displayed on the screen. 
  22.  
  23. The current version is not designed to show all additional possibilities
  24. available with the digital break-out-box option(s).  However, the video
  25. input source may be set to any of the digital inputs or outputs (see below,
  26. under "options").
  27.  
  28. Running 'specialfx':
  29.     
  30.     Exit existing video applications (e.g., videoin). 
  31.  
  32.     Within the directory /usr/demos/bin/video/galileo, type 'specialfx'.
  33.     You may also decide to use the simple shell script 'run_specialfx',
  34.     which can be copied to and run from any directory. NOTE: you must
  35.     edit this file if you wish to use 'run_specialfx' to launch specialfx 
  36.     with any of its command line options.
  37.  
  38.     The icon for 'run_specialfx' is one you can drag anywhere within
  39.     your desktop environment so that you may run the 'specialfx' program
  40.     whenever you double-click on it, as long as this directory remains 
  41.     intact.
  42.  
  43.     'specialfx' assumes you have an active video input source which is
  44.     appropriately selected using the videopanel. 'specialfx' is best
  45.     demonstrated when a high quality video monitor is available to view
  46.     the video output. 
  47.  
  48.     In order to quit, select 'Quit' under 'File' on the main panel, 
  49.     or you may also press the 'q' key while the mouse is inside the 
  50.     video blending window.
  51.  
  52. The layout for the program upon startup, is as follows:
  53.  
  54.     -   An unmarked region is defined in the upper left corner of your
  55.         monitor's screen as an input graphics window. The dimensions of
  56.         this region are either NTSC or PAL sized to match your input source
  57.         type. Whatever is drawn to and appears in this region will serve
  58.         as a graphics input source to the program.  This region's location
  59.         currently cannot be changed.
  60.  
  61.     -   The active video input source is used as a second input source.
  62.  
  63.     -   A video blending window appears in the lower left.  The result of
  64.         the special effects are displayed here, as well as sent to the
  65.         video output of your video board. 
  66.  
  67.         Characteristics of this blending window include:
  68.  
  69.         - The window may later be moved if desired.
  70.         - The window contents are 24 bit color, however if an additional
  71.           video input window is opened, then both the blending window and
  72.           the third window will become 12-bit dithered versions of the
  73.           video output.
  74.         - The window and its contents may be zoomed up and down using the
  75.           '+' and '-' keys (with the mouse positioned inside the window).
  76.           A zoomed up window may be panned using the arrow keys. 
  77.         - NTSC users will see an NTSC sized window by default. PAL users
  78.           will see a PAL window, zoomed down 1/2 in each dimension, which
  79.           may then be zoomed up and viewed with truncation and with use of
  80.           panning, if so desired.
  81.  
  82.     -   A main program control panel. 
  83.  
  84. The contents of the main control panel are as follows:
  85.  
  86.         Menu Bar with pulldowns for: 
  87.         File Controls Apps Utilities Help 
  88.  
  89.         Four buttons: 
  90.         - Grab & Save 
  91.         - Grab & Display
  92.         - Gfx over Video
  93.         - Video over Gfx
  94.  
  95. Found under 'Controls', the 'Display All Control Windows' menu choice brings up
  96. three windows which control three modes of blending.  These three modes are:
  97. luma keying, chroma keying, and switches (transitions).  For all modes, one
  98. of your two input sources is defined to be the 'Foreground' source, and the 
  99. other as the 'Background'.  Touching any of the sliders or buttons on any one
  100. control window activates the blending associated with that window. The three
  101. modes of blending are:
  102.  
  103.     Luma keying: pixels are selected from your foreground source based upon
  104.          their luminance (Y value in YUV color space), and blended
  105.          with variable transparency with the corresponding pixels from
  106.          your background source.  
  107.  
  108.     Chroma keying: pixels are selected from your foreground source based upon
  109.         their chrominance (U and V values in YUV color space), and
  110.         blended with the corresponding pixels from your background
  111.         source. 
  112.  
  113.     Switches (or transitions): pixels are selected from your foreground source
  114.         based upon their spatial location, and blended with the 
  115.         corresponding pixels in your background source. The usual use
  116.         of such a spatially based effect is that a progression is made
  117.         over time which in essence executes a transition from one
  118.         source to the other. 
  119.  
  120. The Luma Key control window consists of four sliders:
  121.     
  122.     Ymin, Ymax, Sharp, and Dense.
  123.     Ymin and Ymax specify a range of Y values for the execution of your key.
  124.     Sharp performs a filter on the selection of the your Y values, and may
  125.     be visually described as a sharpness of the key.
  126.     Dense (Density) controls the density or opacity of the foreground pixels
  127.     *not* selected by the Y range key. 
  128.  
  129. The Chroma Key control window consists of five sliders:
  130.     Umin, Umax, Vmin, Vmax, and Sharp.
  131.     These perform the same functions as the luma sliders, only for U and V
  132.     instead of Y.  Also, note there is no density or opacity control. 
  133.  
  134. NOTE: Please refer to your Video Library guide(s) for examples and discussion
  135.       on keying, related subjects, and the parameters which are accessible 
  136.       to user control through the Video Library (VL).
  137.         
  138. Both the Luma Key and Chroma Key control windows contain 'lock' buttons and
  139. preset buttons A B 1 2 3 4 5.  The 'lock' buttons lock the min and max sliders
  140. together so that you maintain a constant range.  The preset buttons allow you
  141. to save the current settings for future recall, much in the way radio station
  142. presets work.  In order to save your current settings into button 1, simply
  143. press the 'set' button, and then press button 1, deactivating the 'set' button.
  144. When you press any preset button without the 'set' button being activated, then
  145. the sliders will be set to the last stored values.  By default, the control
  146. windows come with a few useful preset values.  The A button on the Chroma
  147. window is a key on a shade of blue found in the demo program 'atlantis'. 
  148. The A button on the Luma window should work for black or near black values.
  149. At this time, there is no way to save these presets into a file, therefore 
  150. the presets are only useful during the time in which 'specialfx' is running.
  151.  
  152. The up and down arrow keys allow for incremental (+1 and -1) of the slider
  153. values on the Luma and Chroma Key control windows.
  154.  
  155. The Switch Control consists of several transition buttons which execute 
  156. transitions from one source to the other.  There are also controls for 
  157. the speed, sharpness and repeat (a geometry factor applying to some but 
  158. not all transitions).  Also, if the 'automatic' toggle is deactivated, 
  159. the 'manual' slider allows one to control the progression of the switch.
  160.  
  161. For all modes of blending, the 'Gfx over Video' and 'Video over Gfx' buttons
  162. allow you to specify which of the two input sources will be considered the
  163. foreground and which will be the background.  
  164.  
  165.      
  166. The rest of the menu choices and buttons:
  167.  
  168. Under Apps:Buttonfly,ImageWorks,Showcase,Movieplayer,Video Paint,Video T-mesh
  169.     Each of these launches the correspondingly named application or demo
  170.     program. These are included for easy access to interesting material to 
  171.     use as your graphics source.  Vidpaint and vidtmesh are described below,
  172.     the rest should have their own man pages. Some of these may not by default
  173.     place their windows into the graphics source region (upper left), so it 
  174.     is up to you to do so.  You need to have 'imgtools' installed in order 
  175.     to run ImageWorks (/usr/sbin/imgworks).
  176.  
  177. Under Utils: Video Control Panel, Show Color Wheels
  178.  
  179.     The video control panel (videopanel) is essential in selecting your video
  180.     input source (e.g. composite 1, composite 2, etc.) and providing access to
  181.     all basic video control functions.  Show Color Wheels displays some color
  182.     wheels which are very instructional when placed into the graphics source
  183.     region during luma and chroma keying operations, and can be used as an aid
  184.     in identifying the desired values for your sliders.  It is important to
  185.     note that the color wheels represent an RGB color space and not a YUV 
  186.     color space. 
  187.  
  188. Grab & Save, Grab & Display
  189.  
  190.     These buttons allow you to capture a single full-sized frame of your
  191.     video input source.  The saved frame can then be displayed as part of
  192.     your graphics source. The ImageWorks app allows you to view and perform
  193.     some basic image processing algorithms from the image processing library
  194.     on the saved frame.
  195.  
  196. Customizing the specialfx demo environment:
  197.  
  198.    'specialfx'  has several shell scripts which called depending on which
  199.     buttons on the main control panel are pressed. The    contents of these
  200.     scripts may be changed but the names of the scripts must remain the same
  201.     for proper operation. 
  202.  
  203.     Thus, there is room for tailoring of 'specialfx' to demonstrate 'favorite'
  204.     applications, demos, etc..  The X resource file, 'Specialfx', which can be 
  205.     found in /usr/lib/X11/app-defaults, may also be modified for different
  206.     fonts, button labels, etc..
  207.  
  208.     Under Apps, the following shell scripts are called. The labels for these
  209.     buttons are found in the resource file 'Specialfx'
  210.     app1.sh        :  run 'buttonfly' (access to installed graphics demos)
  211.     app2.sh        :  run 'imgworks' - (show and process a snapped image)
  212.     app3.sh        :  run 'showcase' (can show text overlays, etc.)
  213.     app4.sh        :  run 'movieplayer' (can run a digitized movie)
  214.     app5.sh        :  run 'vidpaint' demo (see below)
  215.     app6.sh        :  run 'vidtmesh' demo (see below)
  216.  
  217.     The grab & display, grab & save buttons on the main menu:
  218.     grabndisp.sh:  run 'vidtomem' to grab a frame and display it
  219.     grabnsave.sh:  run 'vidtomem' to grab a frame 
  220.  
  221.     Help and Util pulldowns:
  222.     help.sh        :  view a showcase document with help (this document).
  223.     util1.sh    :  run 'videopanel' 
  224.     util2.sh    :  display (using 'ipaste') color wheels for reference
  225.  
  226.     The 'snapped image' or 'grabbed frame'  referred to above, is the file
  227.     out-00000.rgb. In the default operation, there is always just this 
  228.     one file, which gets written over whenever 'grabndisp.sh' and 
  229.     'grabnsave.sh' are run (both use vidtomem).
  230.  
  231. options:
  232. --------
  233. To see 'specialfx' command line options, type 'specialfx -h'.
  234. Note that the optional command line arguments must be specified in the 
  235. order suggested for proper operation.
  236.  
  237. Digital video input and output may be specified in one of 2 ways: 
  238.  
  239.     1) set the desired inputs and outputs using the video control panel,
  240.        then run specialfx with no command line arguments (default mode).
  241.  
  242.     2) use the command line options -v <videonode> and -o <videonode> to
  243.        set the input and output video nodes respectively, where 'videonode'
  244.        is an integer with one the following values: 0 (analog), 1 (digital 1),
  245.        or 2 (digital 2).
  246.  
  247. vidpaint:
  248. ---------
  249. Vidpaint captures video into memory at the 1/4 by 1/4 size (1/8 the area
  250. of the full size of the source you are using), and then draws the frames into
  251. a window.  You can 'paint' with the frames by pressing down on the left mouse
  252. button and dragging the mouse around.  The middle mouse button clears the 
  253. background, and the right mouse button brings up a pop up menu with many
  254. options which you can experiment with.  If you run vidpaint independently,
  255. without having first run specialfx, you may have to make sure that the device
  256. SYNC is set to SLAVE mode.  The input source will be the current default
  257. setting, which you can set with the videopanel. If 'specialfx' is running,
  258. the input used by 'specialfx' will become the input for vidpaint.  
  259.  
  260. vidtmesh:
  261. ---------
  262. Vidtmesh captures video into memory at the 1/4 by 1/4 size, (1/8 the area
  263. of the full size of the source you are using) and places the frames onto a 3D 
  264. triangle mesh (tmesh) grid, which you can then manipulate in space.  The left
  265. mouse button zooms up and down, the middle mouse allows you to rotate the 
  266. grid, and as in vidpaint, the right mouse brings up a pop up menu with several
  267. options which you can experiment with. If you run vidtmesh independently,
  268. without having first run specialfx, you may have to make sure that the device
  269. SYNC is set to SLAVE mode.  The input source will be the current default
  270. setting, which you can set with the videopanel. If 'specialfx' is running, 
  271. the input used by 'specialfx' will become the input for vidtmesh.  
  272.  
  273.  
  274. bigvideoin:
  275. ----------
  276. A very simple mini application which shows a zoomed up videoin window which 
  277. nearly fills your display with video. 
  278.  
  279. trails:
  280. -------
  281. A specialty program which sets up a feedback loop so that you can see
  282. trailing effects.  This program requires a lot of fine tuning based upon
  283. your incoming picture content.  One generally needs to run the example
  284. blending control interface, 
  285.  
  286. /usr/people/4Dgifts/examples/video/vl/keyctls
  287.  
  288. and also experiment with the Pro/Video Input and Pro/Video Output control
  289. panels of the video control panel (videopanel).
  290.  
  291.  
  292. Known bugs, limitations and/or explanation of specific behaviors:
  293. ---------------------------------------------------------------------------
  294. - Other apps such as video input must be exited before running 'specialfx',
  295.   otherwise the program will exit with a startup error. 
  296.  
  297. - Running other apps while 'specialfx' is running may leave 'specialfx' in
  298.   an inoperable condition.  Quitting and starting over again may be 
  299.   necessary.
  300.  
  301. - There is a flickering line at the very top of the video blending window
  302.   ('specialfx').  This is similar to the behavior seen in 'videoin'. One
  303.   way to stop seeing this line on your screen (note that it should not 
  304.   exist on your video output) is to push the window down against the bottom
  305.   edge of your screen until the top window border comes down and cuts off
  306.   the flickering line.  This may be resolvable in a future release.
  307.  
  308. - In zoomed down modes, there may sometimes be some jittery behavior or
  309.   misalighed video in the zoomed down video window initially. Zooming up and
  310.   then back down usually fixes the image.  Also, if an additional video input
  311.   window is started, the placement of the two windows may be sensitive - there
  312.   may be many positions which may result in poor video image quality.  This is
  313.   likely a software issue which should be resolved in a future release. 
  314.  
  315. - When the buttons on the switch control window ('specialfx') are pressed,
  316.   there will occasionally be a slight flash from graphics to video or vice
  317.   versa, just before the switch occurs.  This is a VL implemenation issue
  318.   which will likely be improved/fixed/changed in a future release. 
  319.  
  320. - 'bigvideoin' may not work properly if other apps are running video input 
  321.   windows.  Exit other video-in windows for best results. 
  322.  
  323. - the 'Grab and Display' and 'Grab and Save' functions currently attempt to
  324.   write a captured frame to /var/tmp/out-00000.rgb.  In some cases this file
  325.   may exist and have write restrictions which cannot be overcome.  In these 
  326.   cases, you will see the message, 
  327.  
  328.   'iopen: can't open output file out-00000.rgb'
  329.  
  330.   You may try to delete or move the current copy in /var/tmp in order to 
  331.   allow you to write a new one. 
  332.  
  333. - It has been observed, in rare circumstances, that running 'vidpaint' or 
  334.   'vidtmesh' while 'specialfx' is running, may result in strong flickering
  335.   both in the blending window and in the output display.  This is strictly 
  336.   a software issue, which will likely be fixed in a future release. 
  337.   Quitting from the 'specialfx' program and running some other standalone
  338.   apps such as /usr/people/4Dgifts/examples/video/vl/simpleblend, or 
  339.   'trails', or 'bigvideoin' and then returning to 'specialfx' should fix 
  340.   the situation. 
  341.